package DPT_977;

public class Solution {
	public int[] sortedSquares(int[] A) {
		int n = A.length;
		int neg = -1;
		for (int i = 0; i < A.length; i++) {
			if (A[i] < 0) {
				neg = i;
			} else {
				break;
			}
		}

		int[] ans = new int[n];
		int index = 0, i = neg, j = neg + 1;
		while (i >= 0 || j < n) {
			if (i < 0) {
				ans[index] = A[j]*A[j];
				++j;
			} else if (j == n) {
				ans[index] = A[i]*A[i];
				--i;

			} else if (A[i] * A[i] < A[j] * A[j]) {
				ans[index] = A[i] * A[i];
				--i;
			} else {
				ans[index] = A[j] * A[j];
				++j;
			}
			index++;

		}

		return ans;

	}
}
